﻿using System.Data;
using System.Data.Odbc;

namespace crm.model
{
    public class CidadeDao : Conexao
    {
        Conexao c = new Conexao();

        public bool inserir(Cidade obj)
        {
            colParams.Clear();
            string query = "insert into cidade (fkidpais, fkidestado, nome, fkidstatus) values (?,?,?,?);";
            colParams.Add(new OdbcParameter("@fkidpais", obj.FkIdPais));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@fkidstatus", obj.fkIdStatus));
            return c.Executar(query,colParams);
        }

        public DataTable consultar()
        {
            string query = "select * from vw_cidade;";
            return c.ExecutarConsulta(query);
        }


        public DataTable consultar(int id)
        {
            colParams.Clear();
            string query = "select * from cidade where idCidade = ? and fkidstatus = 0;";
            colParams.Add(new OdbcParameter("@idCidade", id));
            return c.ExecutarConsulta(query,colParams);
        }

        public DataTable carregarCboCidades(int id)
        {
            string query = "select * from func_cidade_estado(?);";
            colParams.Add(new OdbcParameter("@fkidestado", id));
            return c.ExecutarConsulta(query, colParams);
        }

        public DataTable consultar(string nome)
        {
            colParams.Clear();
            string query = "select * from cidade where nome like ?;";
            colParams.Add(new OdbcParameter("@nome", nome));
            return c.ExecutarConsulta(query,colParams);
        }

        public bool atualizar(Cidade obj)
        {
            colParams.Clear();
            string query = "update cidade set nome = ?, fkidestado = ? where idcidade = ?;";
            colParams.Add(new OdbcParameter("@nome", obj.Nome));
            colParams.Add(new OdbcParameter("@fkidestado", obj.FkIdEstado));
            return c.Executar(query,colParams);
        }

        public bool remover(int id)
        {
            colParams.Clear();
            string query = "update cidade set fkidstatus = 1 where idcidade = ?;";
            colParams.Add(new OdbcParameter("@idcidade", id));
            return c.Executar(query,colParams);
        }
    }
}
